home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / GameKit / Makefiles / lib / Makefile.defaults < prev    next >
Makefile  |  1995-06-12  |  3KB  |  97 lines

  1. #
  2. #  NeXT common include file for Internal Makefiles
  3. #  Copyright 1987, 1991, NeXT Computer, Inc.
  4. #
  5. #  Maintained by Doug Wiebe.
  6. #
  7. #  This Makefile contains default values for various things.
  8. #
  9.  
  10. ########################## Product names ##############################
  11.  
  12. # the fruit of this project
  13. PRODUCT = lib$(NAME).a
  14.  
  15. # build-type dependent names
  16. OPT_LIB = lib$(NAME).a
  17. DEBUG_LIB = lib$(NAME)_g.a
  18. PROFILE_LIB = lib$(NAME)_p.a
  19.  
  20.  
  21. ########################## Default build locations ######################
  22.  
  23. # directory for temporary files
  24. OBJROOT = .
  25.  
  26. # subdirectories for .o's
  27. OPT_OBJ = obj
  28. DEBUG_OBJ = debug_obj
  29. PROFILE_OBJ = profile_obj
  30.  
  31. # where .o files are put in OBJROOT, for optimized builds
  32. OFILE_DIR = $(OBJROOT)/$(OPT_OBJ)
  33.  
  34. # directory for symbols and other precious derived files
  35. SYMROOT = .
  36.  
  37. # places to look for dependents
  38. VPATH = $(OFILE_DIR):$(OBJROOT):$(SYMROOT)
  39.  
  40.  
  41. ########################## File groups ##############################
  42.  
  43. # all source code
  44. SRCS = $(MFILES) $(CFILES) $(PSWFILES) $(PSWMFILES) $(SFILES) \
  45.     $(LFILES) $(LMFILES) $(YFILES) $(YMFILES) $(HFILES) \
  46.     $(PSFILES) $(OTHER_SRCS)
  47.  
  48. # all nonderived files needed to build the project (the installsrc'ed files)
  49. INSTALL_FILES = $(SRCS) Makefile Makefile.depends
  50.  
  51. # header files
  52. HFILES = \
  53.     $(PRIVATE_INCFILES)    \
  54.     $(COMPAT_INCFILES)    \
  55.     $(LOCAL_INCFILES)    \
  56.     $(PUBLIC_INCFILES)
  57.  
  58. # file generated by vers_string
  59. VERSFILE = $(NAME)_vers
  60.  
  61. # all the object files, including a file with a version stamp
  62. OFILES_NOVERS = $(MFILES:.m=.o) $(CFILES:.c=.o) $(PSWFILES:.psw=.o)\
  63.  $(PSWMFILES:.pswm=.o) $(SFILES:.s=.o) $(YFILES:.y=.o) $(YMFILES:.ym=.o)\
  64.  $(LFILES:.l=.o) $(LMFILES:.lm=.o) $(OTHER_SRCS_OFILES)
  65.  
  66. OFILES = $(OFILES_NOVERS) $(VERSFILE).o
  67.  
  68. # source files derived in the build process
  69. DERIVED_SRC = $(PSWFILES:.psw=.c) $(PSWMFILES:.pswm=.m) \
  70.         $(PSWFILES:.psw=.h) $(PSWMFILES:.pswm=.h) \
  71.     $(YMFILES:.ym=.m) $(LMFILES:.lm=.m) $(YFILES:.y=.c) $(LFILES:.l=.c)
  72.  
  73. # files that will be removed on make clean, along with .o's
  74. COMMON_GARBAGE = $(BY_PRODUCTS) TAGS tags $(VERSFILE).c $(DERIVED_SRC) \
  75.     Makefile.depends .depend_done core .make.out*
  76.  
  77. # these are other versions of the library we want to nuke
  78. SPECIFIC_GARBAGE = \
  79.     lib$(NAME)*.a \
  80.     $(SPECFILES) \
  81.     $(SPECFILES:.spec=.aux)
  82.  
  83. # this stuff gets nuked with a rm -r
  84. DIRECTORY_GARBAGE = $(OPT_OBJ) $(DEBUG_OBJ) $(PROFILE_OBJ) 
  85.  
  86. # dependency files derived in the build process
  87. DFILES = $(MFILES:.m=.d) $(CFILES:.c=.d) $(SFILES:.s=.d) \
  88.     $(PSWFILES:.psw=.d) $(PSWMFILES:.pswm=.d) \
  89.     $(YMFILES:.ym=.d) $(LMFILES:.lm=.d) $(YFILES:.y=.d) $(LFILES:.l=.d)
  90.  
  91.  
  92. ########################## Commands ##############################
  93.  
  94. # command to print source
  95. PRINT = list
  96.  
  97.